package behavioralPattern.memento.example02;

public class Client {
    public static void main(String[] args) throws InterruptedException {
        // 创建发起人对象
        Player player = new Player(10);

        // 创建备忘录对象
        Memento memento = player.createMemento();

        int i = 0;
        while (i < 100){
            i++;
            // 显示掷骰子次数
            System.out.println("次数" + i);
            // 显示当前玩家状态
            System.out.println(player);
            // 开启游戏
            player.yacht();
            System.out.println("玩家持有的金币：" + player.getMoney());

            // 复活操作
            if (player.getMoney() > memento.getMoney()){
                System.out.println("赚到了金币,保存当前状态，继续游戏");
                memento = player.createMemento(); // 更新快照
            }else if (player.getMoney() < memento.getMoney() / 2){
                System.out.println("所持的金币不多了，将游戏恢复到初始状态！");
                player.restoreMemento(memento);
            }
            System.out.println("===========================\n");
        }
    }
}
